package com.hsnn.medstgmini.base.std.service.impl;

import java.util.List;
import java.util.Map;

import javax.transaction.Transactional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hsnn.medstgmini.base.std.dao.CompProfileDao;
import com.hsnn.medstgmini.base.std.model.StdCompprofile;
import com.hsnn.medstgmini.base.std.service.CompProfileManager;
import com.hsnn.medstgmini.sys.model.SysUser;
import com.hsnn.medstgmini.util.Pagination;

/**
 * @category 企业端基础库资质管理
 * @author 蔡春龙
 * @date 2015年9月9日
 */
@Service
public class CompProfileManagerImpl implements CompProfileManager {

	@Autowired
	private CompProfileDao compProfileDao;

	/**
	 * @category 查看企业资质列表
	 * @date 2015年9月9日
	 * @param page
	 * @param compProfile
	 * @return
	 */
	public Pagination getSelfCompProfileList(Pagination page,
			StdCompprofile compProfile) {
		return compProfileDao.getSelfCompProfileList(page, compProfile);
	}

	/**
	 * @category 查询企业资质类型列表(id, name)
	 * @date 2015年9月9日
	 * @return
	 */
	public List<Map<String, String>> getCompProfileTypeList() {
		return compProfileDao.getCompProfileTypeList();
	}

	/**
	 * @category 提交企业资质
	 * @date 2015年9月9日
	 * @param compProfile
	 */
	@Transactional
	public void submitCompProfile(StdCompprofile compProfile) {
		compProfileDao.submitCompProfile(compProfile);
	}

	/**
	 * @category 查询有资质需要审核的企业列表
	 * @date 2015年9月9日
	 * @param page
	 * @return
	 */
	public Pagination getSomeCompinfoViewList(Pagination page) {
		return compProfileDao.getSomeCompinfoViewList(page);
	}

	/**
	 * @category 审核企业资质
	 * @date 2015年9月9日
	 * @param compProfile
	 * @param user
	 */
	@Transactional
	public void auditCompProfile(StdCompprofile compProfile, SysUser user) {
		compProfileDao.auditCompProfile(compProfile, user);
	}

	/**
	 * @category 变更企业资质状态
	 * @date 2015年9月10日
	 * @param compProfile
	 * @param user
	 */
	@Transactional
	public void changeCompProfileStatus(StdCompprofile compProfile, SysUser user) {
		compProfileDao.changeCompProfileStatus(compProfile, user);
	}

	/**
	 * @category 查询维护记录详情
	 * @date 2015年9月28日
	 * @param logId
	 * @return
	 */
	public List<Map<String, Object>> getCompProfileLogDetail(String logId) {
		return compProfileDao.getCompProfileLogDetail(logId);
	}

}
